﻿using System.ComponentModel;
using System.Runtime.CompilerServices;

namespace Api.Shared.Model
{
    public class Db93Alarm : INotifyPropertyChanged
    {
        public bool Word1_1
        {
            get => word1_1;
            set
            {
                if (word1_1 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_1 = value;
            }
        }

        public bool Word1_2
        {
            get => word1_2;
            set
            {
                if (word1_2 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_2 = value;
            }
        }
        public bool Word1_3
        {
            get => word1_3;
            set
            {
                if (word1_3 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_3 = value;
            }
        }
        public bool Word1_4
        {
            get => word1_4;
            set
            {
                if (word1_4 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_4 = value;
            }
        }
        public bool Word1_5
        {
            get => word1_5;
            set
            {
                if (word1_5 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_5 = value;
            }
        }
        public bool Word1_6
        {
            get => word1_6;
            set
            {
                if (word1_6 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_6 = value;
            }
        }
        public bool Word1_7
        {
            get => word1_7;
            set
            {
                if (word1_7 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_7 = value;
            }
        }
        public bool Word1_8
        {
            get => word1_8;
            set
            {
                if (word1_8 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_8 = value;
            }
        }
        public bool Word1_9
        {
            get => word1_9;
            set
            {
                if (word1_9 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_9 = value;
            }
        }
        public bool Word1_10
        {
            get => word1_10;
            set
            {
                if (word1_10 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_10 = value;
            }
        }
        public bool Word1_11
        {
            get => word1_11;
            set
            {
                if (word1_11 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_11 = value;
            }
        }
        public bool Word1_12
        {
            get => word1_12;
            set
            {
                if (word1_12 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_12 = value;
            }
        }
        public bool Word1_13
        {
            get => word1_13;
            set
            {
                if (word1_13 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_13 = value;
            }
        }
        public bool Word1_14
        {
            get => word1_14;
            set
            {
                if (word1_14 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_14 = value;
            }
        }
        public bool Word1_15
        {
            get => word1_15;
            set
            {
                if (word1_15 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_15 = value;
            }
        }

        public bool Word1_16
        {
            get => word1_16;
            set
            {
                if (word1_16 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word1_16 = value;
            }
        }

        public bool Word2_1
        {
            get => word2_1;
            set
            {
                if (word2_1 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_1 = value;
            }
        }

        public bool Word2_2
        {
            get => word2_2;
            set
            {
                if (word2_2 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_2 = value;
            }
        }
        public bool Word2_3
        {
            get => word2_3;
            set
            {
                if (word2_3 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_3 = value;
            }
        }
        public bool Word2_4
        {
            get => word2_4;
            set
            {
                if (word2_4 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_4 = value;
            }
        }
        public bool Word2_5
        {
            get => word2_5;
            set
            {
                if (word2_5 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_5 = value;
            }
        }
        public bool Word2_6
        {
            get => word2_6;
            set
            {
                if (word2_6 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_6 = value;
            }
        }
        public bool Word2_7
        {
            get => word2_7;
            set
            {
                if (word2_7 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_7 = value;
            }
        }
        public bool Word2_8
        {
            get => word2_8;
            set
            {
                if (word2_8 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_8 = value;
            }
        }
        public bool Word2_9
        {
            get => word2_9;
            set
            {
                if (word2_9 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_9 = value;
            }
        }
        public bool Word2_10
        {
            get => word2_10;
            set
            {
                if (word2_10 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_10 = value;
            }
        }
        public bool Word2_11
        {
            get => word2_11;
            set
            {
                if (word2_11 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_11 = value;
            }
        }
        public bool Word2_12
        {
            get => word2_12;
            set
            {
                if (word2_12 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_12 = value;
            }
        }
        public bool Word2_13
        {
            get => word2_13;
            set
            {
                if (word2_13 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_13 = value;
            }
        }
        public bool Word2_14
        {
            get => word2_14;
            set
            {
                if (word2_14 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_14 = value;
            }
        }
        public bool Word2_15
        {
            get => word2_15;
            set
            {
                if (word2_15 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_15 = value;
            }
        }

        public bool Word2_16
        {
            get => word2_16;
            set
            {
                if (word2_16 != value && value == true)
                {
                    NotifyPropertyChanged();
                }
                word2_16 = value;
            }
        }

        private bool word1_1;
        private bool word1_2;
        private bool word1_3;
        private bool word1_4;
        private bool word1_5;
        private bool word1_6;
        private bool word1_7;
        private bool word1_8;
        private bool word1_9;
        private bool word1_10;
        private bool word1_11;
        private bool word1_12;
        private bool word1_13;
        private bool word1_14;
        private bool word1_15;
        private bool word1_16;
        private bool word2_1;
        private bool word2_2;
        private bool word2_3;
        private bool word2_4;
        private bool word2_5;
        private bool word2_6;
        private bool word2_7;
        private bool word2_8;
        private bool word2_9;
        private bool word2_10;
        private bool word2_11;
        private bool word2_12;
        private bool word2_13;
        private bool word2_14;
        private bool word2_15;
        private bool word2_16;

        public virtual void NotifyPropertyChanged([CallerMemberName] string propertyName = "")
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }

        public event PropertyChangedEventHandler? PropertyChanged;
    }
}
